// 1. 引入模块
const fs = require('fs');

// 2. 使用 Promise 来解决问题
function readFiles(path) {
    return new Promise((resolve, reject) => {
        // 2.1 执行异步任务
        fs.readFile(path, 'utf8', (err, data) => {
            if (err) throw err;
            // 成功
            resolve(data);
        })
    })
}

// 3. ES8 中更新了一个语法糖  async / await
// 专门用于管理基于 Promise 封装的异步
async function fn() {
    const txt01 = await readFiles('./data/01.txt');
    console.log(txt01);

    const txt02 = await readFiles('./data/02.txt');
    console.log(txt02);

    const txt03 = await readFiles('./data/03.txt');
    console.log(txt03);

    const txt04 = await readFiles('./data/04.txt');
    console.log(txt04);
}

fn();


/*
    ; (async function () {
        console.log(await readFiles('./data/01.txt'))
        console.log(await readFiles('./data/02.txt'))
        console.log(await readFiles('./data/03.txt'))
        console.log(await readFiles('./data/04.txt'))
    })()
*/


console.log(100);
